package com.aidex.biz.service;

import com.aidex.common.core.service.BaseService;
import com.aidex.biz.domain.JinjianInfo;
import com.github.pagehelper.PageInfo;
import org.springframework.transaction.annotation.Transactional;

/**
 * 客户进件Service接口
 *
 * @author sean
 * @email 2074844820@qq.com
 * @date 2023-12-11
 */
public interface JinjianInfoService extends BaseService<JinjianInfo> {

    /**
     * 批量删除客户进件
     *
     * @param ids 需要删除的客户进件ID集合
     * @return 结果
     */
    public int deleteJinjianInfoByIds(String[] ids);

    /**
     * 获取最大编号
     *
     * @param jinjianInfo 客户进件
     * @return 结果
     */
    public int findMaxSort(JinjianInfo jinjianInfo);


    public PageInfo<JinjianInfo> findMyList(JinjianInfo jinjianInfo);


    /**
     * 资方推送数据
     *
     * @param customerId
     * @return
     */
    public int pushZifang(String customerId, String type);

    /**
     * 新增进件
     *
     * @param jinjianInfo
     * @return
     */
    @Transactional(readOnly = false)
    public boolean add(JinjianInfo jinjianInfo);

    /**
     * 更新进件
     *
     * @param jinjianInfo
     * @return
     */
    @Transactional(readOnly = false)
    public boolean edit(JinjianInfo jinjianInfo);

    /**
     * 放款
     *
     * @param jinjianInfo
     * @return
     */
    @Transactional(readOnly = false)
    public boolean updateBizJinjianInfoFk(JinjianInfo jinjianInfo);

    /**
     * 资料寄回
     *
     * @param jinjianInfo
     * @return
     */
    @Transactional(readOnly = false)
    public boolean updateBizJinjianInfoZiLiaoBack(JinjianInfo jinjianInfo);

    /**
     * 进件审核
     *
     * @param jinjianInfo
     * @return
     */
    @Transactional(readOnly = false)
    public boolean updateBizJinjianInfoShenHe(JinjianInfo jinjianInfo);

    /**
     * 进件签约
     *
     * @param jinjianInfo
     * @return
     */
    @Transactional(readOnly = false)
    public boolean updateBizJinjianInfoQianYue(JinjianInfo jinjianInfo);


    /**
     * 进件请款
     *
     * @param jinjianInfo
     * @return
     */
    @Transactional(readOnly = false)
    public boolean updateBizJinjianInfoQingKuan(JinjianInfo jinjianInfo);

    /**
     * 进件回款
     *
     * @param jinjianInfo
     * @return
     */
    @Transactional(readOnly = false)
    public boolean updateBizJinjianInfoHuiKuan(JinjianInfo jinjianInfo);

    /**
     * 费用确认
     *
     * @param jinjianInfo
     * @return
     */
    @Transactional(readOnly = false)
    public boolean updateBizJinjianInfoConfirmBill(JinjianInfo jinjianInfo);

    /**
     * 利息确认
     *
     * @param jinjianInfo
     * @return
     */
    @Transactional(readOnly = false)
    public boolean updateBizJinjianInfoConfirmInterest(JinjianInfo jinjianInfo);

    /**
     * 客服接单
     *
     * @param jinjianInfo
     * @return
     */
    @Transactional(readOnly = false)
    public boolean updateBizJinjianInfoKefuConfirm(JinjianInfo jinjianInfo);


    /**
     * 客服确认信审
     *
     * @param jinjianInfo
     * @return
     */
    @Transactional(readOnly = false)
    public boolean updateBizJinjianInfoKefuXinshen(JinjianInfo jinjianInfo);

    /**
     * 客服预审
     *
     * @param jinjianInfo
     * @return
     */
    @Transactional(readOnly = false)
    public boolean updateBizJinjianInfoYushen(JinjianInfo jinjianInfo);

    /**
     * 重新确认方案
     *
     * @param jinjianInfo
     * @return
     */
    @Transactional(readOnly = false)
    public boolean updateBizJinjianInfoConfirmAgain(JinjianInfo jinjianInfo);
}
